﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using WBGModel;
using System.Data;

namespace WBGDal
{
    public class DalCidade : ICRUD
    {
        public List<ModelCidade> Listar()
        {
            return Listar("");
        }

        public List<ModelCidade> Listar(string filtro)
        {
            String cmd = "SELECT * FROM Cidade" + (filtro.CompareTo("") == 0 ? "" : " WHERE " + filtro);
            return ConvertToList(UtilBanco.ExecComRetorno(cmd));
        }

        private List<ModelCidade> ConvertToList(DataTable resultSet)
        {
            List<ModelCidade> lst = new List<ModelCidade>();
            for (int i = 0; i < resultSet.Rows.Count; i++)
            {
                DataRow dr = resultSet.Rows[i];
                ModelCidade cidade = new ModelCidade();
                cidade.idCidade = Convert.ToInt32(dr["idCidade"]);
                cidade.nome = dr["nome"].ToString();
                cidade.UF = dr["UF"].ToString();
                lst.Add(cidade);
            }
            return lst;
        }

        public void Inserir(ModelCidade obj)
        {
            String cmd = String.Format("INSERT INTO Cidade (nome,UF) VALUES ('{0}','{1}')", obj.nome, obj.UF);
            UtilBanco.ExecSemRetorno(cmd);
        }

        public void Alterar(ModelCidade obj)
        {
            String cmd = String.Format("UPDATE Cidade SET nome='{0}', UF='{1}' WHERE idCidade={2}", obj.nome, obj.UF, obj.idCidade);
            UtilBanco.ExecSemRetorno(cmd);
        }

        public void Deletar(int id)
        {
            String cmd = String.Format("DELETE FROM Cidade WHERE idCidade={0}", id);
            UtilBanco.ExecSemRetorno(cmd);
        }
    }
}
